The present invention relates to active networking, and more particularly to resource constrained routing in distributed active networks.
Current multimedia transcoders are point solutions. Customers today demand that transcoding be a network service, be flexible and of course be scalable. Scalability is critical because the network is expected to provide realtime transcoding service to many data flows simultaneously. To accomplish this goal, processors, bandwidth, memory and acceleration resources need to be managed so as to accommodate as many data flows as require transcoding service.
Active networking is the placement of user controllable computing functionality in the nodes of a network. Traditional networks provide a transport mechanism to transfer bits from one end of a system to another with minimal amount of computation. In contrast active networks not only allow the network nodes to perform computation on data, but also allow their users to inject customized programs into the nodes of the network which maintain coherence through active messaging. Optimization to maximize such network flows, while minimizing usage of network resources in heterogeneous environments where all nodes are not necessarily active, is an emerging problem.
Clients requesting video content on active networks specify metadata and quality-of-service (QOS) specifications for the content. While metadata helps identify content, QOS mechanisms ensure full quality playout on high performance stations, while at the same time providing appropriately filtered lower quality playout, perhaps in a different standardized coding format, at other end systems. For example in a digital studio environment clients, like browser, studio-format-decoder, non-linear editor and playout-controllers, request digital video from production/program or play-to-air archives, besides other live studio sources. Clients turn in their request to an active node in the network which, like a broker or matchmaker, finds appropriate content source, configures dataflow-route and adaptive-pipeline resources. Clearly the broker has to consult a sequence of tables to build transformation tunnels that stretch from content source to client in a manner such that quality considerations, like latency and video quality, are not sacrificed. While it is relatively simple to define metadata specifications that are used to locate a source, QOS aspect may be debated.
Clearly the best choice is always baseband uncompressed video. For one serial digital video standard, such as the serial digital video CCIR-601 standard, this means a bandwidth of 270 Mbps. Even if this bandwidth is available, it is a terrible waste of bandwidth, as fewer streams can co-exist on an expensive network and redundancies in the video signal remain unused. The next best choice is to use motion JPEG streams, which preserve excellent quality at a constant bit-rate of up to 5 Mbps. MPEG-2 compression techniques take advantage of redundancies due to motion and preserve good picture quality up to 2 Mbps. MPEG-1 preserves decent quality up to 1 Mbps. H.263 preserves acceptable quality in the sub Megabit range, while MPEG-4 by virtue of object-based bit-rate optimization provides similar quality at just a few kilobits per second. The goal is to enable constant bit-rate, scalable video playout on commodity networks and processors. This may be achieved through transcoding. Sub Megabit per second MPEG-1 or MPEG-2 video is of inferior quality compared to H.263 video. In heterogeneous environments there are both light and heavy active nodes. Active networks establish routes for data flow such that available network resources are best used without sacrificing quality.
Therefore in light of serving scalable video, routing for optimized service is a critical component. Imagine a collection of adaptive-pipelines, such as those described in co-pending U.S. patent application Ser. No. 09/191,929 filed Nov. 13, 1998 by Raja Neogi entitled xe2x80x9cSystem for Network Transcoding of Multimedia Data Flowxe2x80x9d, with adaptive network interfaces distributed in the network. When clients make a request for content with metadata and quality specifications, there needs to be a centralized service that guides the client to the right provider for the service. xe2x80x9cAskxe2x80x9d and xe2x80x9cSearchxe2x80x9d are relegated to special services with centralized advertisement roles in an otherwise distributed system. In true multipeer communications over active networks, each active node is expected to maintain resource and content status maps. There is no centralized functionality. Coherence of storage and resource status is enforced through dynamic event-driven messages. Additional bandwidth resulting from such message passing is negligible (less than 0.5%) compared to actual dataflow bandwidth. Routing comes into the picture because clients simply place their request to another peer, which as part of active network service forwards the request to an appropriate filter agent unless it can provide the requested service directly. Routing decisions are based on metadata matching and quality criteria, which includes latency. In transit from source to destination video content may cross difference network interfaces, such as CCIR 601 vs. Internet Protocol (IP), and protocols, such as XTP vs. UDP, and undergo code conversion, such as MPEG-1/2/4, JPEG, H.26x and the like, and filtering to meet acceptable quality of data flow.
What is desired is a distributed end-to-end delivery mechanism for networked video data flows with optimized routing.
Accordingly the present invention provides for resource constrained routing in active networks. A client makes a service request to a server on an active network with which it is associated, i.e., xe2x80x9chardwiredxe2x80x9d. The server is one of a plurality of active nodes that form the active network. If the server is not available to service the request, it consults a resource status synchronization table to determine which active nodes in the system are available to service the request. The server provides a routing directive to the available server, indicating what application, such as transcoding, is desired as well as the location of the content, which may be at still another server. The servicing server, upon accepting the request, transmits a multicast message to all the other active nodes to update the respective resource status synchronization tables, updating the status of the servicing server. Upon completion of servicing the request, the servicing server provides the requested data flow to the client while transmitting another multicast message to update the respective resource status synchronization tables that the servicing server is now available again.
The objects, advantages and other novel features of the present invention are apparent from the following detailed description when read in conjunction with the appended claims and attached drawing.